import http from "@/http";

export const userListApi = (params: IUserListParams): RES<IUserListModel> =>
  http.get("/admin/list", { params });

  export const switchUserStatusApi = (id:number,status:number):RES<number> => http.post(`/admin/updateStatus/${id}?status=${status}`)

  export const addUserApi = (params: IUserModel): RES<IUserModel> => http.post("/admin/register", params);

  export const getUserById = (id:number):RES<IUserModel> => http.get(`/admin/${id}`)

  export const updateUser = (params:IUserModel):RES<number> => http.post(`/admin/update/${params.id}`,params)

  export const getRoleListApi = ():RES<IRoleModel[]> => http.get("/role/listAll");

  export const getRolesByUserIdApi = (adminId:number):RES<IRoleModel[]> => http.get(`/admin/role/${adminId}`)

  export const updateUserRolesApi = (id:number,ids:number[]):RES<number>=>http.post(`/admin/role/update?adminId=${id}&roleIds=${ids.join(',')}`)

  export const roleListApi = (params: IUserListParams): RES<IRoleListModel> =>
  http.get("/role/list", { params });

  export const switchRoleStatusApi = (id:number,status:number):RES<number> => http.post(`/role/updateStatus/${id}?status=${status}`)

  export const updateRole = (params:IUserModel):RES<IRoleModel> => http.post(`/role/update/${params.id}`,params)

  export const addRoleApi = (params: IUserModel): RES<IUserModel> => http.post("/role/create", params);

  export const getRourceListByRoleIdApi = (roleId:number):RES<IResourceModel[]> => http.get(`/role/listResource/${roleId}`);

  export const resourceListAllApi = ():RES<IResourceModel[]> => http.get("/resource/listAll");

  export const resourceCategoryAllApi = ():RES<IResourceCategoryModel[]> =>http.get("/resourceCategory/listAll")

  export const allocResourceApi = (paramas: allocResourcePramas) =>
  http.post(
    `/role/allocResource?roleId=${
      paramas.roleId
    }&resourceIds=${paramas.resourceIds.join(",")}`
  );

export const treeListApi = (): RES<ItreeMenu[]> => http.get("/menu/treeList");

export const roleListMenu = (roleId:number):RES<IMenuModel[]> => http.get(`/role/listMenu/${roleId}`)

export const changeMenuApi = (paramas: changeMenuParmas) =>
  http.post(
    `role/allocMenu?roleId=${
      paramas.roleId
    }&menuIds=${paramas.menuIds.join(",")}`
  );